#ifndef MODELADO_H
#define MODELADO_H

#include "matematicas.h"
#include "material.h"

#define	M	100

// Helpers
float dameX(float R, int N, int n);
float dameZ(float R, int N, int n);
void anillo(float R, float y, int N);
//void tira(float r, float R, float y1, float y2, int N);
void tira( float R1, float R2, float R3, float y1, float y2, float y3, int P);
void tapa(float R, float y, int N, int flip);
Punto3D vertice( float R1, float y1, int P, int N);
Vector3D normal( float R1, float R2, float y1, float y2, int P, int N);


// Primitivas
float fCono(float y);
void conoAlambre(int N);
void conoSolido(int N, int P);
float fCilindro(float y);
void cilindroAlambre(int N);
void cilindroSolido(int N, int P);
float fEsfera(float y);
void esferaAlambre(int N);
void esferaSolida(int N, int P);
float fRandom(float y);
void randomSolida(int N, int P);
void cubo(float W, float H, float n); 

// Funciones de dibujo
void formaAlambre(float H, int N, float(*f)(float y));
// void formaSolida(float H, int N, float(*f)(float y));
void formaSolida( float H, int N, int P, float (*f)( float y));

// Escena
void escena(void);
void escena_old(void);


#endif
